<?php
namespace AuctionCore\Account\Back;
//
// +------------------------------------------------------------------------+
// | PHP Version 5.4                                                        |
// +------------------------------------------------------------------------+
// | Copyright (c) All rights reserved.                                     |
// +------------------------------------------------------------------------+
// | 世纪车来车往(北京）网络科技有限公司 版权所有！                         |
// | TEL:010-63732365  HOTLINE:400-6688-365  EMAIL:clcw@clcw.com.cn         |
// | $Revision: 1.0 $                                                       |
// +------------------------------------------------------------------------+
// | Author: songaimin@clcw.com.cn  Blog:http://blog.csdn.net/samxx8        |
// +------------------------------------------------------------------------+
//


/**
* 后台授权类
* @author       爱民
*/
class Auth extends \AuctionCore\Account\Auth
{
    protected $_config = array(
             'AUTH_ON'           => true,                      // 认证开关
             'AUTH_TYPE'         => 1,                         // 认证方式，1为实时认证；2为登录认证。
             'AUTH_GROUP'        => 'auth_employee_group',        // 用户组数据表名
             'AUTH_GROUP_ACCESS' => 'emp_group_access', // 用户-用户组关系表
             'AUTH_RULE'         => 'emp_auth_rule',         // 权限规则表
             'AUTH_USER'         => 'employee'             // 用户信息表 即员信息表
    );


	/**
     * @Override
     * 根据用户id获取用户组,返回值为数组
     * @param  uid int     用户id
     * @return array       用户所属的用户组 array(
     *                                         array('uid'=>'用户id','group_id'=>'用户组id','title'=>'用户组名称','rules'=>'用户组拥有的规则id,多个,号隔开'),
     *                                         ...)   
     */
    public function getGroups($uid) {
        static $groups = array();
        if (isset($groups[$uid]))
            return $groups[$uid];

        $user_groups = M()
            ->table($this->_config['AUTH_GROUP_ACCESS'] . ' a')
            ->where("a.emp_id='$uid' and g.status='0'")
            ->join($this->_config['AUTH_GROUP']." g on a.id=g.id")
            ->field('rules')->select();
        
        $groups[$uid]=$user_groups?:array();

        
        return $groups[$uid];
    }
    
    /**
     * @Override
     * 获得用户资料,根据自己的情况读取数据库
     */
    protected function getUserInfo($uid) {
        static $userinfo=array();
        if(!isset($userinfo[$uid])){
             $userinfo[$uid]=M()->where(array('emp_id'=>$uid))->table($this->_config['AUTH_USER'])->find();
        }
        return $userinfo[$uid];
    }

    public function get_auth_list($uid)
    {
        $authList = $this->getAuthList($uid,1);
        return $authList;
    }
 

}